
#ifndef Lines_MoveEffect_h
#define Lines_MoveEffect_h

#include "SpriteEffect.h"
#include "Vector3.h"
#include "BezierCurve.h"

class MoveEffect : public SpriteEffect
{
private:
    Vector2 m_vInitPos;
    Vector2 m_vEndPos;
    Vector2 m_vTranslation;
	BezierCurve *m_oCurve;
	
	bool m_bHasInit;
	bool m_bTranslation;
    
protected:    
    void updateEffect(float _fPerc);
    void enableEffect(bool _bValue);
    
public:
    MoveEffect(RenderableEntity* _entity, float _fDuration, bool _bEnabled, bool _bLoop, Vector2 _vInitPos, Vector2 _vEndPos, eEaseMode _eMode = EASE_NONE);
    MoveEffect(RenderableEntity* _entity, float _fDuration, bool _bEnabled, bool _bLoop, Vector2 _vEndPos, bool _bTranslation = false, eEaseMode _eMode = EASE_NONE);
    MoveEffect(RenderableEntity* _entity, float _fDuration, bool _bEnabled, bool _bLoop, BezierCurve *_oCurve);

};

#endif
